[Android][Tips] Glideに任意のリクエストヘッダーを追加する方法
はじめに
アクセス制限をかけていたり、開発環境などの特殊な環境にあるネットワークの画像を取得する際、HTTPリクエストに任意のヘッダーを使いたい ということがあるかもしれません。(ほとんどないと思いますが。。。)
そんなときに便利な方法を、備忘録として記載します。
準備
非同期の画像取得処理をしてくれるライブラリ Glide をプロジェクトに導入します。 (執筆時点の最新はVer.3.7.0)
dependencies { compile 'com.github.bumptech.glide:glide:3.7.0' }
Glide に任意のリクエストヘッダーを追加する
通常であれば以下のように利用すると思います。
ImageView imageView = (ImageView)findViewById(R.id.imageView); String url = "<画像のURL>"; Glide.with(this).load(url).into(imageView);
ヘッダーを追加する場合は、 GlideUrlクラス
を利用することで簡単に実装することができます。
ImageView imageView = (ImageView)findViewById(R.id.imageView); String url = "<画像のURL>"; GlideUrl glideUrl = new GlideUrl(url, new LazyHeaders.Builder() .addHeader("key", "value") .build()); Glide.with(this).load(glideUrl).into(imageView);
実行結果
stetho を導入し、リクエスト内容を確認したところ、指定したヘッダー情報がちゃんと記載されていました。
[ヘッダーを追加していない場合]
[ヘッダーを追加した場合]